﻿using System;
using System.Collections.Generic;
using System.Linq;
using WarOfDev.Core.Configuration;

namespace WarOfDev.Core.Infrastructure.DependencyManagement
{
    /// <summary>
    /// Configures the inversion of control container with services used by Nop.
    /// </summary>
    public class ContainerConfigurer
    {
        /// <summary>
        /// Known configuration keys used to configure services.
        /// </summary>
        public static class ConfigurationKeys
        {
            /// <summary>Key used to configure services intended for medium trust.</summary>
            public const string MediumTrust = "MediumTrust";
            /// <summary>Key used to configure services intended for full trust.</summary>
            public const string FullTrust = "FullTrust";
        }

        public virtual void Configure(IEngine engine, ContainerManager containerManager, EventBroker broker, WarOfDevConfig configuration)
        {
            
        }

        protected virtual string[] GetComponentConfigurations(WarOfDevConfig configuration)
        {
            return null;
        }
    }
}
